/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entidades;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

import pkEntidades.SolicitacaoCotacaoPK;

/**
 *
 * @author thiago
 */
@Entity
@Table(name = "SolicitacaoCotacao")
public class SolicitacaoCotacao implements Serializable {

    private static final long serialVersionUID = 1L;
    
    @EmbeddedId
    private pkEntidades.SolicitacaoCotacaoPK chave;
    @OneToOne
    private RequisicaoCompra requisicao;
    private int tipo;
    @ManyToOne
    private Status status;
    @ManyToOne
    private Usuario criadoPor;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataCriacao;    
    private String horaCriacao;
    @ManyToOne
    private Usuario modificadoPor;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataModificacao;
    private String horaModificacao;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataInicioCotacao;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataFimCotacao;
    private long idMoeda;
    @ManyToOne
    private CondicaoPagamento condicaoPagamento;
    private Date prazoEntrega;
    @ManyToOne
    private Endereco endereco;
    private String tipoFrete;        
    private String informacoesAdicionais;    
    
    public SolicitacaoCotacao(){
        
    }
    
    public SolicitacaoCotacao(long numeroSolicitacaoCotacao, long ItemSolicitacaoCotacao,
    		RequisicaoCompra requisicao,
    		int tipo,
    		Status status,
    		Usuario criadoPor,
    		Date dataCriacao,    
    		String horaCriacao,
    		Usuario modificadoPor,
    		Date dataModificacao,
    		String horaModificacao,
    		Date dataInicioCotacao,
    		Date dataFimCotacao,
    		long idMoeda,
    		CondicaoPagamento condicaoPagamento,
    		Date prazoEntrega,
    		Endereco endereco,
    		String tipoFrete,        
    		String informacoesAdicionais){
     chave  = new SolicitacaoCotacaoPK();
     chave.setNumeroSolicitacaoCotacao(numeroSolicitacaoCotacao);
     chave.setItemSolicitacaoCotacao(ItemSolicitacaoCotacao);
     
     this.requisicao = requisicao;
     this.tipo = tipo;
     this.status = status;
     this.criadoPor = criadoPor;
     this.dataCriacao = dataCriacao;    
     this.horaCriacao = horaCriacao;
     this.modificadoPor = modificadoPor;
     this.dataModificacao = dataModificacao;
     this.horaModificacao = horaModificacao;
     this.dataInicioCotacao = dataInicioCotacao;
     this.dataFimCotacao = dataFimCotacao;
     this.idMoeda = idMoeda;
     this.condicaoPagamento = condicaoPagamento;
     this.prazoEntrega = prazoEntrega;
     this.endereco = endereco;
     this.tipoFrete = tipoFrete;        
     this.informacoesAdicionais = informacoesAdicionais; 
    }

	public pkEntidades.SolicitacaoCotacaoPK getChave() {
		return chave;
	}

	public void setChave(pkEntidades.SolicitacaoCotacaoPK chave) {
		this.chave = chave;
	}

	public RequisicaoCompra getRequisicao() {
		return requisicao;
	}

	public void setRequisicao(RequisicaoCompra requisicao) {
		this.requisicao = requisicao;
	}

	public int getTipo() {
		return tipo;
	}

	public void setTipo(int tipo) {
		this.tipo = tipo;
	}

	public Status getStatus() {
		return status;
	}

	public void setStatus(Status status) {
		this.status = status;
	}

	public Usuario getCriadoPor() {
		return criadoPor;
	}

	public void setCriadoPor(Usuario criadoPor) {
		this.criadoPor = criadoPor;
	}

	public Date getDataCriacao() {
		return dataCriacao;
	}

	public void setDataCriacao(Date dataCriacao) {
		this.dataCriacao = dataCriacao;
	}
	
	
	public String getHoraCriacao() {
		return horaCriacao;
	}

	public void setHoraCriacao(String horaCriacao) {
		this.horaCriacao = horaCriacao;
	}

	public Usuario getModificadoPor() {
		return modificadoPor;
	}

	public void setModificadoPor(Usuario modificadoPor) {
		this.modificadoPor = modificadoPor;
	}

	public Date getDataModificacao() {
		return dataModificacao;
	}

	public void setDataModificacao(Date dataModificacao) {
		this.dataModificacao = dataModificacao;
	}

	public String getHoraModificacao() {
		return horaModificacao;
	}

	public void setHoraModificacao(String horaModificacao) {
		this.horaModificacao = horaModificacao;
	}

	public Date getDataInicioCotacao() {
		return dataInicioCotacao;
	}

	public void setDataInicioCotacao(Date dataInicioCotacao) {
		this.dataInicioCotacao = dataInicioCotacao;
	}

	public Date getDataFimCotacao() {
		return dataFimCotacao;
	}

	public void setDataFimCotacao(Date dataFimCotacao) {
		this.dataFimCotacao = dataFimCotacao;
	}

	public long getIdMoeda() {
		return idMoeda;
	}

	public void setIdMoeda(long idMoeda) {
		this.idMoeda = idMoeda;
	}

	public CondicaoPagamento getCondicaoPagamento() {
		return condicaoPagamento;
	}

	public void setCondicaoPagamento(CondicaoPagamento condicaoPagamento) {
		this.condicaoPagamento = condicaoPagamento;
	}

	public Date getPrazoEntrega() {
		return prazoEntrega;
	}

	public void setPrazoEntrega(Date prazoEntrega) {
		this.prazoEntrega = prazoEntrega;
	}

	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}

	public String getTipoFrete() {
		return tipoFrete;
	}

	public void setTipoFrete(String tipoFrete) {
		this.tipoFrete = tipoFrete;
	}

	public String getInformacoesAdicionais() {
		return informacoesAdicionais;
	}

	public void setInformacoesAdicionais(String informacoesAdicionais) {
		this.informacoesAdicionais = informacoesAdicionais;
	}
    
  
}
